package com.xuyiwei.xblog.business.article.service;

import com.baomidou.mybatisplus.service.IService;
import com.xuyiwei.xblog.business.article.result.article.out.TypeDto;
import com.xuyiwei.xblog.core.node.ZTreeNode;
import com.xuyiwei.xblog.business.article.model.Type;

import java.util.List;

/**
 * <p>
 * 文章类型表 服务类
 * </p>
 *
 * @author xuyiwei
 * @since 2018-10-15
 */
public interface ITypeService extends IService<Type> {

    /**
     * 获得文章分类的树形
     * @return
     */
    List<ZTreeNode> tree();

    /**
     * 删除
     * @param id
     */
    void deleteTypeById(Long id);

    /**
     * 删除
     * @param ids
     */
    void deleteTypeByIds(List<Long> ids);

    /**
     * 获得最上级的菜单
     * @return
     */
    List<Type> listParent();

    /**
     * 获得最上级的菜单 返回值包括上级菜单的上级以及他的下级
     * @return
     */
    List<TypeDto> listTypeForMenu();

}
